package com.ruoyi.oa.domain.vo;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import com.ruoyi.workflow.domain.ActBusinessStatus;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import org.springframework.format.annotation.DateTimeFormat;


/**
 * 员工信息视图对象 oa_employee_info
 *
 * @author ruoyi
 * @date 2023-06-21
 */
@Data
@ExcelIgnoreUnannotated
public class EmployeeInfoVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
//    @ExcelProperty(value = "主键")
    private String id;


    /**
     * 应聘岗位
     */
    @ExcelProperty(value = "应聘岗位")
    private String position;

    /**
     * 离岗所需时间
     */
    private String departureTime;

    /**
     * 获取岗位渠道（1：猎头；2：网站；3：内部推荐）
     */
    @ExcelProperty(value = "获取岗位渠道")
    private String channel;

    /**
     * 推荐人姓名
     */
    @ExcelProperty(value = "推荐人姓名")
    private String referee;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别")
    private String sex;

    /**
     * 出生年月
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ColumnWidth(20)
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date birthDate;


    @ExcelProperty(value = "出生年月")
    private String birthDateForExcel;

    /**
     * 民族
     */
    @ExcelProperty(value = "民族")
    private String nation;

    /**
     * 籍贯
     */
    @ExcelProperty(value = "籍贯")
    private String nativePlace;

    /**
     * 家庭所在地
     */
    @ExcelProperty(value = "家庭所在地")
    private String homeLocation;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String idNumber;

    /**
     * 婚育状况
     */
    @ExcelProperty(value = "婚育状况")
    private String maritalStatus;

    /**
     * 政治面貌
     */
    @ExcelProperty(value = "政治面貌")
    private String politicalOutlook;

    /**
     * 技术职称
     */
    @ExcelProperty(value = "技术职称")
    private String technicalTitle;

    /**
     * 手机号码
     */
    @ExcelProperty(value = "手机号码")
    private String phone;

    /**
     * 邮箱
     */
    @ExcelProperty(value = "邮箱")
    private String email;


    /**
     * 身高
     */
    @ExcelProperty(value = "身高(cm)")
    private String height;

    /**
     * 体重
     */
    @ExcelProperty(value = "体重(kg)")
    private String weight;

    /**
     * 特长
     */
    @ExcelProperty(value = "特长")
    private String speciality;



    /**
     * 身份证地址
     */
    @ExcelProperty(value = "身份证地址")
    private String address;

    /**
     * 通讯地址
     */
    @ExcelProperty(value = "通讯地址")
    private String mailAddress;

    /**
     * 紧急联系人姓名
     */
    @ExcelProperty(value = "紧急联系人姓名")
    private String emergencyName;

    /**
     * 紧急联系人关系
     */
    @ExcelProperty(value = "紧急联系人关系")
    private String emergencyRelation;

    /**
     * 紧急联系人电话
     */
    @ExcelProperty(value = "紧急联系人电话")
    private String emergencyPhone;

    /**
     * 教育经历
     */
//    @ExcelProperty(value = "教育经历")
    private String educationalExperience;

    /**
     * 学历附件
     */
    private String educationAttachmnet;
    /**
     * 工作经历
     */
//    @ExcelProperty(value = "工作经历")
    private String workExperience;

    /**
     * 是否犯罪
     */
    @ExcelProperty(value = "是否犯罪")
    private String isCrime;

    /**
     * 犯罪记录
     */
//    @ExcelProperty(value = "犯罪记录")
    private String crimeExperience;

    /**
     * 是否违纪
     */
    @ExcelProperty(value = "是否违纪")
    private String isViolation;

    /**
     * 违纪记录
     */
//    @ExcelProperty(value = "违纪记录")
    private String violationExperience;

    /**
     * 是否入院
     */
    @ExcelProperty(value = "是否入院")
    private String isHospital;

    /**
     * 住院记录
     */
//    @ExcelProperty(value = "住院记录")
    private String hospitalExperience;

    @ExcelProperty(value = "是否对其他公司负竞业限制义务")
    private String isLimit;

//    @ExcelProperty(value = "限制义务记录")
    private String limitExperience;

    /**
     * 是否曾经入职
     */
    @ExcelProperty(value = "是否曾经入职")
    private String isEntry;

    /**
     * 曾经入职记录
     */
//    @ExcelProperty(value = "曾经入职记录")
    private String entryExperience;

    /**
     * 其他补充说明
     */
//    @ExcelProperty(value = "其他补充说明")
    private String otherExperience;


    /**
 * 创建时间
 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    @ExcelProperty(value = "提交日期")
    @ColumnWidth(20)
    private Date createTime;

//    @ExcelProperty(value = "提交人")
    private String createBy;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

}
